InnoDB行锁是通过给索引上的索引项加锁来实现的,而Oracle是通过在数据块中对相应数据行加锁来实现的,这也意味着只有通过索引条件检索数据,InnoDB才使用行级锁,否则,InnoDB将使用表锁

本文转自mysql-行锁的实现